﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace WebArchivosTelefonica.Jerarquias
{
    /// <summary>
    /// Representa a los DataSource
    /// </summary>
    public interface ILinqDataSource
    {
        /// <summary>
        /// Nombre de la entidad en el contexto de datos
        /// </summary>
        string TableName{get; set;}
        
        /// <summary>
        /// Retorna el DataSource
        /// </summary>
        /// <returns>LinqDataSource real</returns>
        LinqDataSource GetLinqDataSource();

        /// <summary>
        /// Expresión que representa el contenido del DataSource
        /// </summary>
        string Where{get; set;}

        /// <summary>
        /// Sirve para ordenar el data source
        /// </summary>
        string OrderBy { get; set; }

        /// <summary>
        /// Habilita el view state del data source
        /// </summary>
        bool EnableViewState { get; set; }
    }
}
